﻿using System;
using System.Collections.Generic;

using E.Enum;

namespace E.Model
{
    [Serializable]
    public class ShortExamInfoModel
    {
        public int ID
        { get; set; }

        public string Title
        { get; set; }

        public EnumExamCategory CategoryID
        { get; set; }

        public int CourseCertificateID
        { get; set; }

        public string CourseName
        { get; set; }

        public string CourseCategoryName
        { get; set; }

        public DateTime StartTime
        { get; set; }

        public DateTime EndTime
        { get; set; }

        public int ExamTime { get; set; }
    }

    [Serializable]
    public class ExamInfoModel
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public EnumExamCategory CategoryID { get; set; }
        public int CourseCertificateID { get; set; }
        public string CourseCertificateName { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public Dictionary<int, string> AreaList { get; set; }
        public int ExamTime { get; set; }
        public string[] AreaStrList { get; set; }
        public int TotalScore { get; set; }
        public int PassScore { get; set; }
        public IList<SettingModelForDataHandle> DataSettingList { get; set; }
        public int CertificateID { get; set; }      //选择课程考试时，需要记录课程对应的认证
        public string QuestionIDArray { get; set; }
        public int IsRandom { get; set; }

    }

    [Serializable]
    public class ExamListModel
    {
        public int TotalCount { get; set; }
        public IList<ShortExamInfoModel> List { get; set; }
    }

    [Serializable]
    public class ExamDefaultListModel
    {
        public int TotalCount { get; set; }
        public IList<ExamDefaultModel> List { get; set; }
    }

    [Serializable]
    public class SearchExamModel
    {
        public string Title { get; set; }
        public EnumExamCategory CategoryID { get; set; }
        public int CourseCertificateID { get; set; }
        public int CertificateID { get; set; }
        public int AreaID { get; set; }
        public string StartFromTime { get; set; }
        public string StartToTime { get; set; }

        #region wnan
        public string userName { get; set; }
        public string email { get; set; }
        public string loginid { get; set; }

        #endregion
    }

    [Serializable]
    public class ExamDetailSettingModel
    {
        public int ID { get; set; }
        public int CourseID { get; set; }
        public string CourseName { get; set; }
        public int QuestionQuantity { get; set; }
        public int RequiredQuestionQuantity { get; set; }
    }

    [Serializable]
    public class ExamSettingModel
    {
        public int QuestionCategoryID { get; set; }
        public string QuestionCategoryName { get; set; }
        public IList<ExamDetailSettingModel> SettingList { get; set; }
    }

    [Serializable]
    public class ShortExamSettingModel
    {
        public int CourseID { get; set; }
        public int QuestionCategoryID { get; set; }
        public int QuestionQuantity { get; set; }
        public int RequiredQuestionQuantity { get; set; }
    }

    [Serializable]
    public class SettingModelForDataHandle
    {
        public int ExamID { get; set; }
        public int QuestionCategoryID { get; set; }
        public int CourseID { get; set; }
        public int QuestionQuantity { get; set; }
        public int RequiredQuestionQuantity { get; set; }
    }

    #region wnan modify ExamModel

    [Serializable]
    public class PaperInspectModel
    {
        public int ExamID { get; set; }
        public int UserID { get; set; }
        public string UserName { get; set; }
        public string ExamTitle { get; set; }
        public int TestLogId { get; set; }
        public string CourseName { get; set; }
        public string ProjectName { get; set; }
        public int TestId { get; set; }
    }

    [Serializable]
    public class PaperInspectListModel
    {
        public int TotalCount { get; set; }
        public IList<PaperInspectModel> List { get; set; }
    }

    [Serializable]
    public class QuestionStaticsModel
    {
        public int Id { get; set; }
        public string QuestionType {get;set;}
        public string QuestionTitle { get; set; }
        public string QuestionOption { get; set; }
        public string RightAnswer { get; set; }
        public int QuestionCount { get; set; }
        public string RightPercent { get; set; }

    }

    [Serializable]
    public class QuestionStaticsListModel
    {
        public int TotalCount { get; set; }
        public IList<QuestionStaticsModel> List { get; set; }
    }

    [Serializable]
    public class AverageStaticsModel
    {
        public int Id { get; set; }
        public string ClassCode { get; set; }
        public string CourseName { get; set; }
        public string StudentNumber { get; set; }
        public string AverageScore { get; set; }

    }

    [Serializable]
    public class AverageStaticsListModel
    {
        public int TotalCount { get; set; }
        public IList<AverageStaticsModel> List { get; set; }
    }
    #endregion


    [Serializable]
    public class ExamDefaultModel
    {
        public int id { get; set; }
        public string DefaultName { get; set; }
        public string CategoryIDArr { get; set; }
        public string QuestionQuantityArr { get; set; }
        public string RequiredQuestionQuantityArr { get; set; }
    }
}
